##############################################################
## MOD Title: Fix message_die for multiple errors MOD
## MOD Author: markus_petrux < phpbb.mods@phpmix.com > (Markus) http://www.phpmix.com
## MOD Description: This MOD replaces the "message_die() was called multiple times" message
##     with something more useful. It reports a list of all "those" error messages with all
##     relevant information. So that may help board administrators to identify the problem.
## MOD Version: 1.0.3
##
## Installation Level: (Easy)
## Installation Time: 3 Minutes
## Files To Edit: 1
##    includes/functions.php
## Included Files: 0
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
## - Technical comments:
##   Actually, the "message_die() was called multiple times" message is unlike to happen on a
##   fresh phpBB board, but it might happen related to MODs, depending on how they are coded.
##
##
## - MOD related comments:
##   Tested with phpBB 2.0.10
##   This MOD is EasyMOD friendly.
##
##############################################################
## MOD History:
##
## 2004/10/17 - 1.0.3
## - Added a mailto: link to the "Please, contact the webmaster" message.
##   This will be only available if the CONFIG table has been read, though.
##   Thanks again to Ptirhiik for the idea. :-)
##   Certainly it sounds wiser than using "smoke signals" to contact the webmaster.
##
## 2004/10/17 - 1.0.2
## - Added a "Please, contact the webmaster" message at the end of the report.
## - Fixed define(HAS_DIED, 1); typo. Thanks to Ptirhiik for letting me know this.
##
## 2004/10/17 - 1.0.0
## - Initial release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------------
#
	if(defined('HAS_DIED'))
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//+MOD: Fix message_die for multiple errors MOD
	static $msg_history;
	if( !isset($msg_history) )
	{
		$msg_history = array();
	}
	$msg_history[] = array(
		'msg_code'	=> $msg_code,
		'msg_text'	=> $msg_text,
		'msg_title'	=> $msg_title,
		'err_line'	=> $err_line,
		'err_file'	=> $err_file,
		'sql'		=> $sql
	);
//-MOD: Fix message_die for multiple errors MOD

#
#-----[ FIND ]------------------------------------------------
#
		die("message_die() was called multiple times. This isn't supposed to happen. Was message_die() used in page_tail.php?");
#
#-----[ REPLACE WITH ]----------------------------------------
#
//+MOD: Fix message_die for multiple errors MOD

		//
		// This message is printed at the end of the report.
		// Of course, you can change it to suit your own needs. ;-)
		//
		$custom_error_message = 'Por favor, contacte con el %sWebmaster%s. Gracias.';
		if ( !empty($board_config) && !empty($board_config['board_email']) )
		{
			$custom_error_message = sprintf($custom_error_message, '<a href="mailto:' . $board_config['board_email'] . '">', '</a>');
		}
		else
		{
			$custom_error_message = sprintf($custom_error_message, '', '');
		}
		echo "<html>\n<body>\n<b>Error Critico</b><br />\nmessage_die() was called multiple times.<br />&nbsp;<hr />";
		for( $i = 0; $i < count($msg_history); $i++ )
		{
			echo '<b>Error #' . ($i+1) . "</b>\n<br />\n";
			if( !empty($msg_history[$i]['msg_title']) )
			{
				echo '<b>' . $msg_history[$i]['msg_title'] . "</b>\n<br />\n";
			}
			echo $msg_history[$i]['msg_text'] . "\n<br /><br />\n";
			if( !empty($msg_history[$i]['err_line']) )
			{
				echo '<b>Linea :</b> ' . $msg_history[$i]['err_line'] . '<br /><b>Archivo :</b> ' . $msg_history[$i]['err_file'] . "</b>\n<br />\n";
			}
			if( !empty($msg_history[$i]['sql']) )
			{
				echo '<b>SQL :</b> ' . $msg_history[$i]['sql'] . "\n<br />\n";
			}
			echo "&nbsp;<hr />\n";
		}
		echo $custom_error_message . '<hr /><br clear="all">';
		die("</body>\n</html>");
//-MOD: Fix message_die for multiple errors MOD
#
#-----[ FIND ]------------------------------------------------
#
	define(HAS_DIED, 1);
#
#-----[ REPLACE WITH ]----------------------------------------
#
	define('HAS_DIED', 1);
#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM